#if !defined(__APP_MQTT)
#define __APP_MQTT

/**
 * mqtt客户端初始化的方法
 * 1.创建一个mqtt客户端
 * 2.设置mqtt客户端的回调函数,(1)失联事件 (2)收到消息事件 (3)消息发送成功事件
 * 3.客户端正式连接服务器
 * 4.客户端订阅主题
 * @return 成功返回0，失败返回-1
 */
int app_mqtt_init();

/**
 * mqtt客户端发送消息的方法
 * @param 发送的数据
 * @param 发送的数据长度
 * @return 成功返回0，失败返回-1
 */
int app_mqtt_send(char *data, int len);

/**
 *@brief 外部模块向消息队列模块中注册回调函数
 *@param 回调函数
 *@return 成功返回0，失败返回-1
 */
int app_mqtt_register_callback(int (*callback)(char *data, int len));

/**
 * @brief 销毁mqtt客户端
 * @return 成功返回0，失败返回-1
 */
int app_mqtt_destroy();

#endif // __APP_MQTT
